package Demo;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: DELL
 * Date: 2023-01-04
 * Time: 16:36
 */

import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;

/**
 * 标准库阻塞队列的使用
 */
public class Thread_Demo8 {

    public static void main(String[] args) throws InterruptedException {
        // BlockingQueue 是一个线程安全队列
        BlockingQueue<Integer> queue = new LinkedBlockingQueue<>();
        queue.put(1); // 添加元素进队列 如果队列满了,则阻塞等待, 当队列弹出元素不满以后继续添加
        int value = queue.take(); // 弹出对顶元素 如果对顶不为空, 则弹出, 为空则阻塞等待元素添加进队列后弹出
        System.out.println("弹出元素为:" + value);
        queue.poll();// 弹出对顶元素
    }
}
